home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d19 / gw15pak.arc / POSITIVE.ARC / POSITIVE.PAS < prev    next >
Pascal/Delphi Source File  |  1989-12-18  |  1KB  |  51 lines

  1. PROGRAM Positive;
  2. {delete all zero and negative scores from winners.war}
  3. TYPE
  4.   RecPtr = ^WinnerRec;
  5.   WinnerRec = RECORD
  6.     Wins : LONGINT;
  7.     Name : STRING[17];
  8.     next : RecPtr;
  9.   END;
  10. VAR
  11.   f              : TEXT;
  12.   o,p,start,last : RecPtr;
  13.   nam            : STRING[17];
  14.   w              : LONGINT;
  15. BEGIN
  16.   start := NIL;
  17.   last  := NIL;
  18.   w     := IOresult;
  19.   ASSIGN(f,'WINNERS.WAR');
  20.   {$I-} RESET(f); {$I+}
  21.   IF IORESULT=0 THEN BEGIN
  22.     WHILE NOT EOF(f) DO BEGIN
  23.       READLN(f, w);
  24.       READLN(f, nam);
  25.       IF w>0 THEN BEGIN
  26.         NEW(p);
  27.         IF last=NIL THEN
  28.           start:= p
  29.         ELSE
  30.           last^.next := p;
  31.         p^.next := NIL;
  32.         last    := p;
  33.         p^.Wins := w;
  34.         p^.Name := nam;
  35.       END;
  36.     END;
  37.     CLOSE(f);
  38.     ASSIGN(f,'WINNERS.WAR');
  39.     REWRITE(f);
  40.     p := start;
  41.     WHILE (p<>NIL) DO BEGIN
  42.       WRITELN(f,p^.Wins);
  43.       WRITELN(f,p^.Name);
  44.       o := p;
  45.       p := p^.next;
  46.       DISPOSE(o);
  47.     END;
  48.     CLOSE(f);
  49.   END;
  50. END.
  51.